class Solution
{
public:
    vector<vector<string>> groupAnagrams(vector<string> &strs)
    {
        // 首先坑定是利用的哈希的思想
        // 排序可以解决判断的问题
        unordered_map<string, vector<string>> m;
        for (const auto &e : strs)
        {
            string tmp = e;
            sort(tmp.begin(), tmp.end());
            m[tmp].push_back(move(e));
        }
        vector<vector<string>> ans;
        for (const auto &e : m)
            ans.push_back(move(e.second));
        return ans;
    }
};